var $putOnRecordInformationTable = $('#putOnRecordInformationTable');
/**
 * 备案信息--初始化
 */
$(function () {
    //备案信息列表初始化
    recordTableInit();

    //加载全部公司信息(新增弹窗加载)
    loadAllCompanyList();

    //加载全部员工账号信息(新增弹窗加载)
    loadAllAccounts();

    effectiveness()
});

//防止表头与表格不对齐
$(window).resize(function () {
    $putOnRecordInformationTable.bootstrapTable('resetView');
});

/**
 * 新增备案信息--表单校验
 */
function effectiveness(){
    $('#addPutOnRecordInformationForm').bootstrapValidator({
        fields: {
            companyName: {
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '企业名不能为空'
                    },
                }
            },
            customerName: {
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '客户姓名不能为空'
                    }
                }
            },
            customerPhone: {
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '客户手机号不能为空'
                    },
                    string:{
                        max:12,
                        min:12,
                        message:'请输入正确的手机号码'
                    }
                }
            },
            companySelect: {
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '所属分公司不能为空'
                    }
                }
            },
            userSelect: {
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '业务员姓名不能为空'
                    }
                }
            },
            creditCode: {
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '企业信用代码不能为空'
                    }
                }
            },
        },
    })
}

/**
 * 备案信息列表
 */
function recordTableInit(){
    //先销毁表格
    $putOnRecordInformationTable.bootstrapTable('destroy');
    $putOnRecordInformationTable.bootstrapTable({
        classes: 'table table-hover table-bordered table-striped',
        url: '/csd/putOnRecordInformation/selectPutOnRecordInformationList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'recordInformationId',
        idField: 'recordInformationId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: [10,20],//可供选择的每页的行数
        queryParams: queryParams,//查询参数
        columns: [
            {title: '主键', field: 'recordInformationId', visible: false},
            {title: '企业名称',field: 'companyName', align: 'left', valign: 'middle'},
            {title: '企业信用代码', field: 'unifiedSocialCreditCode', align: 'left', valign: 'middle' },
            {title: '客户姓名', field: 'customerName', align: 'left', valign: 'middle'},
            {title: '客户手机号', field: 'customerPhone', align: 'left', valign: 'middle'},
            {title: '业务员姓名', field: 'salesPersonName', align: 'left', valign: 'middle'},
            {title: '业务员手机号', field: 'salesPersonPhone', align: 'left', valign: 'middle' },
            {title: '所属分公司', field: 'affiliationCompanyName', align: 'left', valign: 'middle' },
            {title: '备案时间', field: 'createTm', align: 'left', valign: 'middle' },
            {title: '创建人', field: 'createPeopleName', align: 'right', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 备案信息列表--查询参数
 * @param params
 * @returns {*}
 */
function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    params.unifiedSocialCreditCode = $.trim($('#unifiedSocialCreditCode').val());//企业信用代码
    return params;
}

/**
 * 备案信息列表--搜索
 */
function searchPutOnRecordInformation(){
    $putOnRecordInformationTable.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParams});
}

/**
 * 新增备案信息
 */
function addPutOnRecord(){
    //重置表单
    $('#companyName').val('');
    $('#customerName').val('');
    $('#customerPhone').val('');
    $('#companySelect').val('').selectpicker('refresh');
    $('#userSelect').val('').selectpicker('refresh');
    $('#salesPersonPhone').val('');
    $('#creditCode').val('');
    $("#addPutOnRecordInformationForm").data('bootstrapValidator').destroy();
    $('#addPutOnRecordInformationForm').data('bootstrapValidator',null);
    effectiveness();
    //展示新增备案信息弹窗
    $('#addPutOnRecordInformation').modal('show');
}

/**
 * 新增备案信息-保存(调用后端接口)
 */
function savePutOnRecord(){
    var bootstrapValidator = $("#addPutOnRecordInformationForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }
    var companyName =  $.trim($('#companyName').val());//企业名称
    var customerName = $.trim($('#customerName').val());//客户名
    var customerPhone = $.trim($('#customerPhone').val());//客户手机号
    var affiliationCompanyId = $('#companySelect option:selected').val();//所属分公司
    var salesPersonId = $('#userSelect option:selected').val();//所属业务员
    var salesPersonPhone = $.trim($('#salesPersonPhone').val());//业务员手机号
    var unifiedSocialCreditCode = $.trim($('#creditCode').val());//企业信用代码

    var jsonData = {
        "companyName":companyName,
        "customerName":customerName,
        "customerPhone":customerPhone,
        "affiliationCompanyId":affiliationCompanyId,
        "salesPersonId":salesPersonId,
        "salesPersonPhone":salesPersonPhone,
        "unifiedSocialCreditCode":unifiedSocialCreditCode
    };

    $.ajax({
        url: '/csd/putOnRecordInformation/addPutOnRecordInformation',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if(data.code == '000000'){
                $.alert({
                    title: '提示',
                    content: '保存成功！',
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {
                                $('#addPutOnRecordInformation').modal('hide');
                                recordTableInit();
                            }
                        }
                    }
                });
            } else {
                $.alert(data.data);
            }
        }),
        error: (function (res) {
            $.alert("保存失败");
        })
    })
}

